Had a similar problem after doing a restore on my iPhone 4. I just tried something that seemed to work. Went to contacts and selected groups. Selected Hide All Contacts and immediately selected Show All Contacts again. The missing contacts re-appeared along with duplicate entries for the one's I recreated.
Have you already tried to reboot your iPhone? (Push and hold the power button for 5 seconds, then slide to power off. Once your iPhone is shut down hold the power button for a few seconds to restart your iPhone)
That might solve you issue.
If that doesn't solve your contact list issue go to 'settings' > 'Mail, Contacts, Calendar' > scroll down to 'Contacts' and play with the 'Sort Order', 'Display Order' and My Info' options. That might do the trick.
It looks like you're not the only one suffering from this issue (I know this topic is from 2010, but is describes perfectly your situation). I guess you've added those contacts to you list by using a 3th party app.
As of today, there isn't a fix for this issue, so I suggest you only add contacts by using the official contact app on your iPhone and add the ones not listed in your contact list manually.
Navigate to Settings > iCloud then turn Contacts off. It this was causing the problem you will notice that your contacts come back. Then go back to the same place (Settings > iCloud) then turn Contacts back on then select Merge.
I actually figured it out playing with it today, the contact would not appear in my contacts but if I searched my phone they would appear, so if I couldn't find them within contacts...I would first search for the contact...open it...and then edit the contact, then they would show up...
Seemed strange but it works and new contacts are now being added as normal, must have been a glitch at one point as all the contacts that I cannot see were added in about a 2 month span.