Faits : A. A._, né en 1961, a travaillé en tant que déménageur. En 2004, il a été victime d'une chute dans les escaliers dont les suites ont été prises en charge par l'assureur-accidents. De son côté, l'Office de l'assurance-invalidité du canton de Genève (ci-après: l'office AI) a rejeté la demande de prestations présentée par l'assuré le 20 décembre 2005, compte tenu d'un taux d'invalidité de 7,5 % (décision du 18 août 2008). Le 22 mai 2013, l'assuré a déposé une nouvelle demande de prestations que l'office AI a rejetée par décision du 26 novembre 2015. Par jugement du 29 novembre 2016, la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, a admis partiellement le recours dirigé contre cette décision et renvoyé la cause à l'office AI pour instruction complémentaire. L'administration a confié un mandat d'expertise au docteur B._, spécialiste en psychiatrie et psychothérapie. Dans son rapport du 21 juillet 2017, le médecin a diagnostiqué une dysthymie (F34.1), avec répercussion sur la capacité de travail. Sans répercussion sur celle-ci, il a posé les diagnostics de trouble douloureux somatoforme persistant sans indices de gravité jurisprudentiels remplis (diagnostic peu probable), versus des facteurs psychologiques ou comportementaux associés à des troubles ou des maladies classées ailleurs sans indices de gravité jurisprudentiels remplis (diagnostic peu probable) (F54), ainsi que des traits de personnalité anxieuse et narcissique, actuellement non décompensés (Z73.1). Pour le docteur B._, la capacité de travail de l'assuré était entière avec une baisse de rendement de 30 % d'un point de vue psychiatrique dans toute activité adaptée au status somatique. Dans un avis du 18 septembre 2017, la doctoresse C._, médecin au Service médical régional Suisse romande (ci-après: SMR), a indiqué que la capacité de travail était nulle dans l'activité de déménageur depuis 2004 mais entière dans une activité adaptée. Se fondant sur les conclusions du SMR, l'office AI a rejeté la demande par décision du 6 novembre 2017. B. A._ a déféré cette décision à la Chambre des assurances sociales. Par jugement du 25 juin 2019, le tribunal cantonal a admis partiellement le recours, annulé la décision du 6 novembre 2017 et mis l'assuré au bénéfice d'un quart de rente d'invalidité à compter du 1 er décembre 2013. C. L'office AI interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant à la confirmation de sa décision du 6 novembre 2017. A._ conclut au rejet du recours. Il sollicite l'octroi de l'assistance judiciaire. L'Office fédéral des assurances sociales a renoncé à se déterminer.