Faits :
A.
A._, née le 10 septembre 1956, a travaillé en qualité de couturière à l'étranger, ainsi qu'en tant qu'employée de maison et de concierge en Suisse. Les 14 avril 2004, 27 mars 2009 et 15 octobre 2010, elle a déposé successivement trois demandes de prestations de l'assurance-invalidité. Celles-ci ont toutes été rejetées par l'Office de l'assurance-invalidité du canton de Genève (ci-après: l'office AI), la dernière fois par décision du 4 juin 2012 (confirmée par jugement de la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, du 20 novembre 2012).
En juillet 2013, le docteur B._, médecin traitant de l'assurée, a annoncé une aggravation de l'état de santé de sa patiente. L'office AI est entré en matière sur cette quatrième demande. Après que la décision de refus du 11 avril 2017 a été annulée par la juridiction cantonale (jugement du 17 avril 2018), l'administration a confié un mandat d'expertise au docteur C._, spécialiste en chirurgie orthopédique. Dans son rapport du 27 août 2018, ce médecin a conclu à une capacité de travail entière dans une activité adaptée, respectivement de 50 % dans l'ancienne activité. Par décision du 4 février 2019, l'office AI a fixé le taux d'invalidité à 34 % et rejeté la demande.
B.
A._ a déféré cette décision à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales. Par jugement du 10 septembre 2019, la juridiction cantonale a admis le recours, annulé la décision du 4 février 2019 et mis l'assurée au bénéfice d'une demi-rente d'invalidité dès le 1 er janvier 2014, fondée sur un degré d'invalidité de 50 %.
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 4 février 2019.
L'intimée conclut au rejet du recours et sollicite le bénéfice de l'assistance judiciaire. L'Office fédéral des assurances sociales a renoncé à se déterminer.

Considérant en droit :
1.
Le recours en matière de droit public peut être formé pour violation du droit, tel qu'il est délimité par les art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (<ref-law>). Il fonde par ailleurs son raisonnement sur les faits retenus par la juridiction de première instance (<ref-law>) sauf s'ils ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law> (<ref-law>). La partie recourante qui entend s'écarter des faits constatés doit expliquer de manière circonstanciée en quoi les conditions de l'<ref-law> sont réalisées sinon un état de fait divergent ne peut être pris en considération.
2.
Le litige porte sur le droit de l'intimée à une demi-rente d'invalidité à partir du 1 er janvier 2014, dans le cadre d'une nouvelle demande consécutive à un précédent refus de rente. La solution du litige ressortit en particulier aux <ref-law> et 87 al. 2 RAI mentionnés dans le jugement entrepris auquel il suffit de renvoyer.
Il convient de rappeler que l'<ref-law> n'exige pas une modification notable des circonstances prévalant lors de l'octroi de la rente mais une modification notable du degré d'invalidité. Selon la jurisprudence, le changement de circonstances propre à légitimer la révision des rentes d'invalidité ou des autres prestations durables peut ainsi consister en une modification sensible non seulement d'un état de santé mais aussi des conséquences sur la capacité de gain d'un état de santé inchangé (<ref-ruling> consid. 2.3 p. 10; <ref-ruling> consid. 3 p. 132; <ref-ruling> consid. 6.1 p. 546 et 7.1 p. 548 et les références; arrêt 9C_821/2018 du 4 février 2019 consid. 4.1).
3.
Les premiers juges ont constaté que l'état de santé de l'intimée s'était modifié entre la troisième et la quatrième demande de prestations. D'une part, il s'était amélioré s'agissant des atteintes aux épaules, mais d'autre part il s'était aggravé au niveau des membres inférieurs avec l'apparition de gonalgies, lesquelles avaient entraîné des limitations fonctionnelles supplémentaires. L'instance précédente a aussi constaté que cette évolution de l'état de santé n'avait pas abouti à une modification de la capacité de travail qui s'élevait toujours à 50 % dans l'activité habituelle et à 100 % dans l'activité adaptée.
Les juges cantonaux se sont ensuite référés à la jurisprudence relative à l'évaluation de l'invalidité d'un assuré proche de l'âge donnant droit à la rente de vieillesse, laquelle prescrit de procéder à une analyse globale de la situation et de se demander si, d'une manière réaliste, l'assuré est encore en mesure de retrouver un emploi sur un marché équilibré du travail (cf. <ref-ruling> consid. 3.1 p. 459 et les références; arrêt 9C_899/2015 du 4 mars 2016 consid. 4.3). Dans ce contexte, ils ont considéré que la modification de l'état de santé avait eu une incidence sur la nature de l'activité adaptée encore exigible, laquelle devait épargner non seulement les membres supérieurs mais désormais également les genoux (pas d'activités en position agenouillée ou accroupie, pas de déplacements répétés dans les escaliers). Les juges ont admis que même si l'intimée avait changé d'activité à la suite de l'arrêt du 20 novembre 2012, un nouveau changement d'activité aurait pu être rendu nécessaire compte tenu des limitations fonctionnelles nécessitées par l'atteinte aux genoux. La recourante pouvait ainsi invoquer son âge de 62 ans (au moment de l'expertise du docteur C._), considéré comme avancé. Son invalidité devait en conséquence être évaluée en fonction de la capacité de travail résiduelle de 50 % dans l'activité habituelle qu'elle exerçait avant la survenance de l'atteinte à la santé, ce qui ouvrait droit à la demi-rente.
4.
Le recourant reproche aux premiers juges d'avoir apprécié les preuves de manière arbitraire, dans la mesure où ils ont retenu un changement notable des circonstances au sens de l'<ref-law>. Pour le recourant, les limitations fonctionnelles décrites par le docteur C._ sont essentiellement les mêmes que celles qui avaient été retenues en 2012 (limiter le port de charges, favoriser l'alternance de positions et l'épargne du rachis); elles n'ont donc pas subi d'évolution notable et n'ont pas de répercussion sur la nature de l'activité encore exigible. A cet égard, il précise que le revenu d'invalide, établi en 2012 selon les statistiques de l'Enquête suisse sur la structure des salaires (ci-après: ESS), tenait déjà compte d'un large éventail d'activités suffisamment légères et adaptées. Dès lors que le type d'activités jugées à la portée de l'intimée en 2012 reste toujours bien adapté à son état de santé, le recourant en déduit qu'il n'y a pas eu de changement notable influençant la capacité de travail et de gain. En conséquence, et dès lors que le seul facteur qui s'était modifié depuis 2012 était l'âge de l'assurée, cet élément ne pouvait fonder un droit à la rente, ce que la juridiction cantonale avait pourtant reconnu de façon arbitraire.
L'intimée partage l'appréciation du tribunal cantonal, singulièrement dans la mesure où son âge a été pris en compte dans l'évaluation de l'invalidité. Elle reproche toutefois à la juridiction cantonale de n'avoir pas traité son grief relatif à la nécessité d'un examen neuropsychiatrique comme le docteur D._, spécialiste en psychiatrie, l'avait suggéré afin d'évaluer ses capacités à reprendre une activité lucrative, violant ainsi son droit d'être entendue et commettant un déni de justice. En outre, elle fait grief au recourant de n'avoir appliqué qu'un abattement de 20 % sur le salaire statistique au lieu de 25 %, ce qui conduirait en tous les cas à l'octroi d'un quart de rente.
5.
5.1. Les premiers juges ont constaté que la capacité de travail de l'intimée restait entière dans une activité adaptée à ses limitations fonctionnelles, malgré les modifications de son état de santé. Les parties ne remettent pas en question le bien-fondé de cette constatation de fait dont il n'y a pas lieu de s'écarter (consid. 1 supra). Sur le plan psychique, à l'inverse de ce que prétend l'intimée, la juridiction cantonale a traité de son grief et exposé les raisons pour lesquelles l'instruction complémentaire sur le plan neuro-psychiatrique n'était pas nécessaire. Le grief de l'intimée tiré d'une violation de l'art. 29 Cst. est mal fondé; pour le surplus, elle ne fait valoir aucun motif qui mettrait en évidence le caractère arbitraire de l'appréciation anticipée des preuves de la juridiction cantonale.
5.2. Sous l'angle des conditions de la révision, on constate que le spectre légèrement modifié des limitations fonctionnelles subies par l'intimée par rapport à la situation qui prévalait en 2012, ne constitue pas une modification motivant une révision. En effet, comme le fait valoir à juste titre le recourant, la nature de l'activité adaptée encore exigible aux limitations fonctionnelles serait inchangée. Une telle activité ferait toujours partie des activités simples et répétitives telles que prises en compte dans les statistiques salariales de l'ESS et dont peu d'entre elles s'accomplissent à genoux, accroupi ou entraînent des déplacements répétés dans les escaliers. La capacité de gain (théorique) de l'assurée n'en serait dès lors pas modifiée ni, en conséquence, le degré d'invalidité. A défaut d'une modification notable, le taux d'invalidité n'avait pas à être fixé à nouveau en prenant en compte le critère de l'âge de l'intimée (cf. à ce sujet arrêt 9C_899/2015 précité). Le grief y relatif du recourant est dès lors bien fondé.
Enfin, en invoquant un abattement de 25 % sur le revenu statistique d'invalide, l'intimée n'établit pas que le taux d'invalidité en résultant serait suffisant pour justifier le droit à un quart de rente. Il suffit de se référer au calcul du recourant (cf. feuille de calcul du 18 octobre 2018) et de constater que le taux d'invalidité serait de 38 % en fonction d'un abattement de 25 %, les revenus déterminants n'étant au demeurant pas contestés.
5.3. Il suit de ce qui précède que le recours est bien fondé, ce qui conduit à l'annulation du jugement entrepris.
6.
L'intimée, qui succombe, supportera les frais de la procédure (<ref-law>). Elle remplit les conditions de l'octroi de l'assistance judiciaire pour la procédure fédérale (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis. Le jugement de la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, du 10 septembre 2019, est annulé et la décision de l'Office de l'assurance-invalidité du canton de Genève du 4 février 2019 est confirmée.
2.
L'assistance judiciaire est admise pour la procédure devant le Tribunal fédéral et M e Jean-Marie Faivre est désigné comme avocat d'office de l'intimée.
3.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge de l'intimée. Ils sont toutefois provisoirement supportés par la Caisse du Tribunal fédéral.
4.
Une indemnité de 2800 fr., supportée par la Caisse du Tribunal fédéral, est allouée à M e Jean-Marie Faivre à titre d'honoraires.
5.
Le dossier est renvoyé à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, pour nouvelle décision sur les frais et dépens de la procédure cantonale.
6.
Le présent arrêt est communiqué aux parties, à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 31 juillet 2020
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président : Parrino
Le Greffier : Berthoud