This has the full list of pokemon that learn it by leveling up and by TM. (there's just too many to list!) http://pokemondb.net/move/shadow-ball
All the eeveelutions can
gastly, haunter, gengar and dusclops and duscnoir
my gengar knows shadow ball
After taking enough steps, the Egg will hatch into a level 5 (Generation II and III) or level 1 (Generation IV onward) first-stage Pokémon of the female species's (or non-Ditto parent's) evolutionary chain.
Prior to Generation VI, if the father knows any moves that are TMs or HMs in that game (and in Crystal, moves that are taught by a Move Tutor) that the baby is also compatible with, it will inherit the move. If a Pokémon species that is gender unknown (such as Magnemite) breeds with Ditto, the resultant baby will inherit any compatible TM or HM moves that the non-Ditto parent knows.
source A Pokemon can inherit shadow ball only if it existed before gen 6, can hatch from an egg (so no legendaries, and evolved Pokemon can know it only if its basic stage can know it), is either genderless or can have a mother (so no all male families), and can learn shadow ball by TM.
I still think there are too many to list in this answer, so you can look at these other lists. list of Pokemon that can learn shadow ball list of Pokemon that can breed and are not all male