My ds misspeaks names a fair bit. He'll call me dad if he has been talking to dh recently, for instance. He doesn't know the names of many of his uncles though to be fair he doesn't see them much. He was explaining the other day about how he has easy access memory but it doesn't last long (short term memory), probably what he uses for names when he doesn't see someone often. He uses the name during the gathering but doesn't remember it long term unless he has had a really meaningful interaction with that person (like the kid at the science museum). Even then, he's more likely to remember what the person did than their name. And ds tells me he has another kind of memory, those memories take a little longer to call up but they are things that once he has learned he never forgets. I'm always reinforcing the names "Remember Uncle Pete? The guy who played with rockets with you?" That helps a lot.
Anyway, if you think he's gifted, it's really common for such kids to do better with older kids until his own peers get older. It may be that simple, that he hasn't met anyone his age worth bothering with. Check out the gifted subforum if you haven't visited it yet.
Mom to unschooling 4everboy since 8/01