Antagonists should be someone or something (e.g. a natural disaster) that presents a difficult challenge for the main character, and at times, this challenge may be seemingly impossible to overcome. The key here is that the antagonist doesn't necessarily have to be evil, they just need to present problems for the main character.
If your antagonist is a person, it's very useful to create a rich backstory to their motivations, because not only will this provide the character with greater depth, but it will also create mystery for the rest of the story. Someone mentioned darth vader being an awesome antagonist and that's because of the rich backstory of him being Luke's father. Avoid the typical cliches of villains who are 'pure evil' and only have self interests (such as wanting to take over the world at all costs) unless there's a good reason for them having those attributes.
I think interesting villains also have their own character arcs. Sometimes, they choose to do evil because their rational brains want them to do it, whilst their feelings and heart oppose that of their logic. This type of opposition between the rational vs. emotional brain is a great opportunity for change to occur.