A couple of possibilities:
1- Find a "missing" song and see if it plays OK in your library. If the native file is corrupt (or missing) then it won't sync over to your iPhone.
2- There are some bugs with smart playlists in iOS 7, so if you're using a smart playlist to define what you want sync'd to your iPhone, not all songs may transfer (or at least won't all appear in the playlist on the iPhone). Adding the smart criteria "Playlist is Music" usually corrects this (where "Music" is the general category in your library for all music items).
3- If the "missing" songs are tagged as "Part of a Compilation" in iTunes, and you have "Group By Album Artist" enabled on your iPhone (Settings/Music) then the compilation songs will be filed under whatever you used for "Album Artist", not "Artist" (e.g. look under "Various Artists" in the Artist menu). In this case the songs are there, just not where you're expecting them to be.