Danbury man allegedly punches motorist, takes off with $40