This could be happening because of a failing hard drive, or perhaps a corrupt index file. There are a few things to try to resolve this issue:
- iTunes Match
- Check to see if the file is actually there.
- Rebuild your library
For $24.99 a year, Apple will put your music library in the cloud by "matching" your songs with the songs in iTunes. In most cases they are higher quality than the ones currently in your library. If iTunes doesn't have a copy, it will upload it. Once it's done, you can delete all of your songs and re-download the higher quality, copy-protection free versions. You'll only have to purchase it for one year -- you'll be able to keep all of the converted songs. If you want to continue having them available in the cloud, you will have to keep paying $24.99 every year.
Look for the iTunes folder inside your music folder. Here you should find a folder for each artist, and you can check to see if the song file is there. If it is not, and you haven't moved it or deleted it somehow, then it may be a hard drive problem. If this is the case, you may notice other problems like system crashes or slow downs.
In your iTunes folder, there will be a few "iTunes Library" files with ".xml", ".itdb", and ".itl" extensions. Move these to a different location, and launch iTunes again. Now it should be empty, but don't panic -- your music isn't gone. Next go to the iTunes file menu, select "Add to Library", and point to your iTunes music folder. You will end up losing some data like play counts and ratings, but everything else should be preserved.