It depends how you define the surface of an atom. Atoms maintain no surface in the normal sense; only regions of space where you have a better chance of finding electrons. So in fact it is not correct to say they have a true shape at all.
Shapes of Atomic Orbitals
However if you plot the region of higher probability of finding electrons in an atom you can obtain something like this:
These are the shapes of the first five atomic orbitals: $1\mathrm{s}$, $2\mathrm{s}$, $2\mathrm{p}_x$, $2\mathrm{p}_y$, and $2\mathrm{p}_z$ from Wikipedia. $1\mathrm{s}$ orbital is sphere-shaped but other orbitals have more complex shapes so atoms with many electrons have orbitals very different from a sphere.
Shapes of Molecular Orbitals
Molecules have more electrons and so even more orbitals. They can have very strange "shapes". I've calculated for you with GAMESS and Avogadro the LUMO 2$b_2$ water's orbital that is one of the molecular orbitals of water. This is the result:
Shapes of Atomic Constituents
For answering your question in the comment: In fact even protons, neutrons and electrons don't have a real shape due to wave-particle duality. However we can assume in many cases that neutrons are particles (so we suppose a spherical symmetry) but the de Broglie hypothesis states that they have also a wavelength!