Inspecteur général des PTT de profession, Marc Massion est député de Seine-Maritime de 1981 à 1986 en remplacement de Laurent Fabius nommé au gouvernement, conseiller général du canton de Grand-Couronne de 1985 à 2000 et conseiller régional de Haute-Normandie. Également élu au conseil municipal du Grand-Quevilly à partir de 1977, il devient en 1995 premier adjoint au maire, Laurent Fabius. Après l'entrée au gouvernement de ce dernier en , Marc Massion lui succède comme maire de la ville jusqu'en 2020, où il choisit de ne pas se représenter.
Il devient sénateur de Seine-Maritime le en remplacement de Tony Larue, décédé, puis il est élu le suivant et de nouveau le . Il démissionne le et est remplacé par Didier Marie.