Yes, it's possible you've hit upon the problem there.
OS X performs regular maintenence routines. There's one it runs daily, one it runs weekly, and one it runs monthly. It tries to run these in the middle of the night, when you're likely not to be using the machine. Unfortunately, if the computer is shut down, it might not run them. This behavior was presumably designed more for servers and other machines that run 24/7 than for systems that are shut down daily.
You could put the machine to sleep instead of shutting it down. Sleeping will delay the maintenance routines from running, but it will not stop them like shutting down might. For example, if you have the computer asleep for 8 hours, the routine will run 8 hours later than originally scheduled but as long as you don't shut down, you can be sure that it
will run.
Generally OS X performs better when you don't shut down daily anyway. Personally, I tend to restart only about once a month.
You can also use utilities such as
OnyX to run these maintenance scripts manually. It's not vital that the "daily" script gets run every single day, so you don't need to worry about it too much. But if you choose to keep shutting down, you should make a point to run them manually every now and then.