What is the cap for in Arduino reset circuit?
Yes.

It converts the level-triggered signal DTR into an edge-triggered signal and has the effect of level shifting it to within the operating voltage range of the MCU (+/- a forward diode drop).

DTR (Data Terminal Ready) is a signal line used for hardware flow-control in various EIA serial protocols (such as EIA-232). In your case, it is being "hacked" to serve as a host-initiated reset of your microcontroller. 

Ease-of-use

The host has software control over the state of the DTR line, but implementing a short pulse may not be possible due to scheduling or other tasking in the way. 

Speed

Perhaps you want a really fast reset (you don't want a user to notice the micro went through a reset), this wouldn't be possible with software control of the reset line directly through DTR. You'd have to send a low-level, then a high-level via your host software.

Level Translation

The DTR line may be at EIA-232 levels, many volts higher (and lower) than the microcontroller can safely tolerate. AC coupling the reset edge severely limits the current (waveform energy) such that it may be safely clamped by the ESD protection diodes attached to the reset pin inside the microchip.