Pick a couple of songs that are not displayed on your Device and try to play them in iTunes music. There's a chance that iTunes can't play them cause it can't locate them in which case they'll be marked with something like an exclamation mark. It happens when you transfer music to iTunes from different files/folders. A window will pop up and you'll have to manually locate the file/s where the specific songs are stored on your computer. It will then ask if you'd like to locate more songs. Click yes.
I had the same problem and it worked for me.