A.- Par décision sur opposition du 21 octobre 1999, mais remise à un bureau de poste le 20 octobre précédent, les Assurances-Bouchers (ci-après : l'assureur) ont rejeté une opposition formée par M._ contre une décision de refus d'une rente d'invalidité. Cette décision sur opposition a été notifiée le 21 octobre 1999 à Me L._, avocat auprès duquel l'assuré avait fait élection de domicile.
B.- Par acte remis à la poste le 24 janvier 2000, l'assuré a recouru contre cette décision devant le Tribunal administratif du canton de Genève.
Statuant le 1er février 2000, la juridiction cantonale a déclaré irrecevable le recours pour cause de tardiveté.
C.- M._ interjette recours de droit administratif en concluant à l'annulation de ce jugement et au renvoi de la cause à la juridiction cantonale pour qu'elle statue au fond.
L'assureur conclut au rejet du recours, sous suite de frais et dépens. L'Office fédéral des assurances sociales n'a pas présenté de détermination.

Considérant en droit :
1.- a) Aux termes de l'<ref-law>, le délai de recours devant le tribunal cantonal des assurances compétent est de trois mois pour les décisions sur opposition portant sur les prestations d'assurance.
Selon une règle générale de procédure, le délai dont le point de départ dépend d'une communication commence à courir le lendemain de celle-ci. Lorsque le délai est exprimé en mois, il expire le jour qui correspond par son quantième à celui de la notification de la décision ou, à défaut de jour correspondant, le dernier jour du mois (<ref-ruling> s. consid. 4a, 103 V 159 consid. 2a; Poudret/Sandoz-Monod, Commentaire de la loi fédérale d'organisation judiciaire, vol. I, note 2.4 ad art. 32; voir aussi Bertossa/Gaillard/Guyet, Commentaire de la loi de procédure civile genevoise, note 1 ss ad art. 29). En effet, si le délai venait à échéance le jour qui correspond par son quantième au lendemain de la notification, il se trouverait sans raison prolongé d'un jour (cf. <ref-ruling> s. consid. 2b).
Par ailleurs, il n'y a pas de place, sur ces points, pour une éventuelle réglementation cantonale divergente, quand il s'agit de délais fixés par le droit fédéral (cf. <ref-ruling> consid. 4a, 123 III 69 consid. 2a).
b) Il n'y a pas de motif de revenir sur cette jurisprudence, comme le demande le recourant. En particulier, celui-ci ne saurait se prévaloir du principe de la bonne foi, du moment que la jurisprudence ci-dessus exposée a fait l'objet d'arrêts publiés (en particulier : <ref-ruling> consid. 2a, 103 V 159 consid. 2b).
2.- En l'espèce, la décision sur opposition a été notifiée au mandataire de l'assuré le 21 octobre 1999. Le délai de trois mois a donc commencé à courir le lendemain, soit le 22 octobre 1999 et il est arrivé à échéance vendredi 21 janvier 2000. Le recours de l'assuré, remis à la poste le 24 janvier suivant, était donc tardif, comme l'ont admis avec raison les premiers juges.
3.- Vu la nature du litige, qui porte uniquement sur un point de procédure, des frais de justice doivent être mis à la charge du recourant qui succombe (art. 134 OJ a contrario; art. 156 OJ).
4.- L'assureur intimé a conclu à l'octroi de dépens. Bien qu'il obtienne gain de cause, il ne saurait en prétendre, aucune indemnité pour les frais de procès n'étant allouée, en règle générale, aux organismes chargés de tâches de droit public (art. 159 al. 2 in fine OJ; <ref-ruling> s. consid. 7 et les références).

Par ces motifs, le Tribunal fédéral des assurances
p r o n o n c e :
I. Le recours est rejeté.
II. Les frais de justice, d'un montant de 500 fr., sont
mis à la charge du recourant et sont compensés avec
l'avance de frais qu'il a versée.
III. Il n'est pas alloué de dépens.
IV. Le présent arrêt sera communiqué aux parties, au
Tribunal administratif du canton de Genève et à
l'Office fédéral des assurances sociales.
Lucerne, le 6 juillet 2000
Au nom du
Tribunal fédéral des assurances
Le Président de la IIe Chambre :
p. le Greffier :