The size, quality and type of a battery determines the maximum output current.
A cheap little Chinese carbon-zinc battery (labelled Super Heavy Duty) has a very low maximum output current. A larger one has more current and can produce it for a longer duration than a small one.
Some Lithium Ion battery cells have a "protection circuit" inside that limits their maximum discharge current.
The Lithium Polymer batteries used for my electric radio controlled model airplanes are small, are not protected and can supply very high current.
The datasheet for an ordinary 9V alkaline battery shows that it can produce 400mA for about 42 minutes when its loaded voltage has dropped to 6V. A Lithium 9V battery can produce 500mA for 84 minutes when its loaded voltage has dropped to 6V.