It is probably because the hard drive is going or your bios is not set correctly.
When your machine boots up, it scans your system for hardware. The hard drive is not seen until it spins up. If it doesn't spin up fast enough, the system will not see it. When a drive is cold, the lubrication on the bearings is thicker so it takes longer for the drive to spin up. If your mobo is not told to wait, it doesn't find it.
If the drive is very old, it may be starting to go as the lubrication is not as good as it used to be. If you go into the bios, there should be a setting to increase the wait time as well so that the machine will boot up all the time.
Keep an eye on the drive though. Find the utility your hard drive manufacturer has and run it against the drive to make sure there are not problems with it.