Causes of Tsunami:  Earthquakes and Volcanoes

Earthquakes generate tsunamis when the sea floor abruptly deforms and displaces the overlying water from its equilibrium position. Waves are formed as the displaced water mass, which acts under the influence of gravity, attempts to regain its equilibrium. The main factor which determines the initial size of a tsunami is the amount of vertical sea floor deformation. This is controlled by the earthquake's magnitude, depth, fault characteristics and coincident slumping of sediments or secondary faulting. Other features which influence the size of a tsunami along the coast are the shoreline and bathymeteric configuration, the velocity of the sea floor deformation, the water depth near the earthquake source, and the efficiency which energy is transferred from the earth's crust to the water column.

A tsunami can be generated by ANY disturbance that displaces a large water mass from its equilibrium position. Submarine landslides, which often occur during a large earthquake, can also create a tsunami. During a submarine landslide, the equilibrium sea-level is altered by sediment moving along the sea-floor. Gravitational forces then propagate the tsunami given the initial perturbation of the sea-level. Similarly, a violent marine volcanic eruption can create an impulsive force that displaces the water column and generates a tsunami. Above water (subarial) landslides and space born objects can disturb the water from above the surface. The falling debris displaces the water from its equlibirum position and produces a tsunami. Unlike ocean-wide tsunamis caused by some earthquakes, tsunamis generated by non-seismic mechanisms usually dissipate quickly and rarely affect coastlines far from the source area.
 

Information from Washington University tsunami page