tl;dr: Give out awards— this has worked for me for decades.
As you're narrating and introducing anything with a name, pause a second after saying the name and look around at all of the players. This gives them a chance to write stuff down, if they're going to.
Later, when you're running the adventure, if something you have already named comes up again, do not name it. Hint at it, and ask the players if they remember the name. Whoever names it correctly first gets the award.
Your "award" can be virtually anything you can come up with. I started with— and most frequently use —experience points. 10, 50, 100— whatever is appropriate to how important the name/detail is to the overall story and the character's level.
I've also used: