I agree that dogs remember stuff, things they've done wrong, people they've 'met' etc.
I have a three year old Blue Heeler, he is a great dog, fully house trained, great with kids and animals, wouldnt hurt a fly.
The other day a mate of mine dropped around that I havent seen since Tiger (my Bluey) was about 8 weeks old, he used to hassle Tiger when he was a little puppy and Tiger hasn't forgotten it.
The moment my mate opened the gate and came into the yard, he had an angry three year old Blue Heeler that meant business hanging off his calf.
I came out to investigate all the yelling and carrying on, saw what was happening and called the dog off.
Tiger sat there with his hackles up and fangs bared, looking from my mate to me, pretty much begging for permission to go rip him a new one.
Troy (my mate) sat there with his pants leg up and a two bleeding canine holes bared, looking from the dog to me with a stunned expression on his face and said "little bugger has a long memory huh?"
Cracked me up.
Back when Tiger was a little ball of fluff that Troy loved to tease and annoy, I would say to him "You know mate, one day that little ball of fur is going to be a fully grown male blue cattle dog, and he isnt going to forget this"
Troy would laugh it off, he pretty much didnt believe a word of it.
Now he knows better
When confronted with a chewed shoe, or a spilled rubbish bin or any of the million and one other things they get up to, my dogs allways dob themselves in, whichever one is guilty of the crime either legs it and hides, or just rolls over and puts their tail between their legs in a submissive posture, depending on how serious they think the misdemeanour is.
If it was just tone of voice, or body posture that they were responding to, all three dogs would split, not just the guilty one.