A geek is someone who is unusually enthusiastic about a specific topic, sometimes an unusual topic, such as computing, science, maths or painting tiny models from Lord of the Rings.
A term used almost exclusively in the UK to affectionately refer to an expert or egghead. This term originated from the 'back room boys' in the second world war who were, amongst other things, operating radar and trying to break the german enigma code.
Someone who has difficulty negotiating social situations. The term has strong negative connotations and is mostly used as an insult. Nerd is often used interchangably with geek and it is true that many people are both but they mean different things.
"OMG OMG IT'S A TINY PAINTED IAN MCKELLEN!"
Spitfire pilot 1-"Biggles have you heard the news?"
Spitfire pilot 2-"No, what is it jeffrey?"
Spitfire pilot 1-"The boffins have cracked the enigma code!"
Spitfire pilot 2-"Excellent; lets get up there and give those germans a taste of our good old British spunk, bristol fashon, six of the best trousers down!"
Normal person-"Well this is a fine state of affairs!"
Nerd-"Is it... I though it was a disaster?"
Normal person-"OMG I was being sarcastic. You are such a nerd!"