Minecraft wiki entry for Command_blocks_and_functions, associated text: Command blocks can create spawners using the /setblock command, e.g.:
/setblock ~1 ~-1 ~0 spawner{SpawnData:{id:zombie,HandItems:[{id:iron_sword,Count:1}]}}
Anything that counts as an entity can be spawned (except a player), which includes all mobs, as well as minecarts, fireballs, arrows, snowballs, ender pearls, custom thrown potions, fireworks, primed TNT, falling sand, red sand, or gravel, paintings and item frames, experience orbs, and even dropped items of any type.