Yes it has in fact happened several times, the most recent ones being 2017 (Chris Froome), 2006 (Óscar Pereiro after Floyd Landis was disqualified) and 1990 (Greg LeMond). Before that, the TdF was also won without a stage victory in 1922, 1956, 1960 and 1966. (see here).
* * *
For your second question, Wikipedia has a list for the
Giro (1913, 1946, 1951, 1961-63, 1969, 1971, 1999, 2002, 2008, 2011, 2012, 2015)
and the Vuelta (1955, 1965, 1971, 1976, 1990, 2001, 2009, 2010, 2015).
(To keep to the same format, here's the TdF again): 1922, 1956, 1960, 1966, 1990, 2006, 2017.
So, the Giro has been won 14% of the time by someone who didn't win a single stage, while for the Tour this has only happened in about 6% of cases. For the Vuelta, it's close to 13%.