Faits : A. Le 19 juin 2015, la Caisse de compensation du canton de Fribourg a rendu une décision sur opposition en matière de réparation du dommage qu'elle a adressée au mandataire de A._. La notification de cette décision est intervenue le 23 juin 2015. B. A._ a déféré cette décision au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, en concluant principalement à son annulation. Le cachet postal apposé sur l'enveloppe porte la date du 25 août 2015; au recto de l'enveloppe figure également une note manuscrite signée par B._ déclarant qu'il "dépose dans la boîte jaune Genève 3 Rive ce lundi 24 août 2015 à 21h49". Le tribunal cantonal a invité A._ à s'exprimer sur le respect du délai de recours. Le prénommé a déposé ses observations et requêtes de preuve le 15 septembre 2015. Par jugement du 21 septembre 2015, la juridiction cantonale a déclaré le recours irrecevable pour cause de tardiveté. C. A._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant principalement au renvoi de la cause à la juridiction cantonale afin qu'elle administre les preuves de l'expédition du recours le 24 août 2015 et prenne une nouvelle décision sur la recevabilité du recours. La caisse intimée conclut au rejet du recours. Le Tribunal cantonal et l'Office fédéral des assurances sociales ont renoncé à se déterminer.