I have always been pretty bad about remembering names, especially for people I rarely interact with or those to whom I have recently been introduced. I believe this to be the case because I am naturally shy and ill at ease in most social situations. I suspect that the troubles that I have today stem from how I learned to handle the standard "introduction ritual". Here you shake someone's hand and then exchange pleasantries and names. For me though, I just wanted to get this whole uncomfortable encounter over and done with, so I just went to the happy place in my mind and never heard more than a mumble from the other person (I always just heard the Peanut's teacher talking). Phew, thank goodness that was over with.
As I have gotten a bit older, I am not quite as awkward and uncomfortable socially as I once was, but I am still afflicted with poor technique when it comes to introductions. Most often the person's name is just a quick flash of sound and then disappears. Of late, I have countered this shortcoming with a more utilitarian approach. If the person that I have met is someone that I will likely never come upon again, I don't worry too much about the situation. However, if it is someone that I will be in and around, I have learned to simply ask them for their name whenever I encounter them again.
However, sometimes, even with someone whose name I can normally recall without pause, I lose their name just as I need to use it. I try to get by with "pal", "buddy", or "cap'n", but I just feel so awkward and my profuse sweating just adds to the tension. Other times, I can get the name wrong altogether ... "Your name's not Bob? Well, you look like a Bob". You can imagine how this wins people over.