My sons both started this at 3, and it was just out of the blue. My husband sings them "Daddy Eats the Monsters" (a song he made up) every night at bedtime, and they have a nightlight and flashlight. This is something that most kids go through, especially at this age. Personally, I think it's great for kids to be afraid of strangers and not think Mommy and Daddy will always be there to protect them (because really, we won't be, and our kids need to know what to do if someone approaches them...even if we're standing right there but looking the other way). Just let him know, that he's safe in the house. Also, kids at that age will not believe you when you tell them there are no such things as monsters, because they REALLY believe there are. We've discovered the best thing is to tell them that we don't let monsters and ghosts in our house. This is OUR space, and we keep the monsters out like we keep the bugs out. That's why DH sings that he eats all of the monsters that try to come in the house. :) Your sons' fears may or may not have anything to do with the talk he had with his granny, but like I said, sometimes the fears just pop out of nowhere at that age. My boys had absolutely no fears until they were 3, either.
GL with this! You'll just have to try a few things until you figure out what works best for your son.
K. (mom of 3 boys)