Faits: A. C._, soudeur de formation, a travaillé depuis l'année 2000 en qualité de préparateur logistique au service de X._ SA. Souffrant de douleurs chroniques de l'épaule droite sur troubles dégénératifs et post-traumatiques, il s'est annoncé à l'assurance-invalidité. L'état de santé de l'assuré et l'étendue de sa capacité de travail ont fait l'objet d'un examen pluridisciplinaire auprès du COMAI de Y._ (rapport du 27 avril 2007). Dans un rapport du 26 juin 2007, le docteur B._, médecin au SMR, a attesté que l'assuré présentait une capacité de travail de 60 % dans l'activité aménagée qu'il exerçait depuis 2005, tandis que la capacité était depuis toujours de 100 % dans une activité adaptée à ses limitations fonctionnelles (poste sédentaire en position assise, sans manipulation de charges supérieures à 3 kg, ni surélévation des bras au-dessus du plan horizontal). Par décision du 1er octobre 2007, l'Office de l'assurance-invalidité pour le canton de Vaud (l'office AI) a rejeté la demande de prestations après avoir arrêté le taux d'invalidité à 2 %. Celui-ci résultait de la comparaison d'un revenu d'invalide de 52'672 fr. (établi sur la base des statistiques salariales, en tenant compte d'un facteur d'abattement de 10 %), avec un revenu sans invalidité de 54'000 fr. L'assuré est en arrêt de travail pour cause de maladie depuis le 19 octobre 2009. Le 9 avril 2010, il a déposé une nouvelle demande de prestations tendant à l'octroi d'une rente. L'instruction de la cause a mis en évidence une détérioration de l'état de santé depuis la décision du 1er octobre 2007, l'incapacité de travail étant désormais totale dans l'activité habituelle (de manutentionnaire) depuis le 16 octobre 2009. Une pleine capacité de travail restait toutefois exigible dans une activité adaptée aux limitations fonctionnelles (rapport du docteur B._, du 28 juillet 2010). Une nouvelle comparaison du revenu sans invalidité de 56'739 fr. avec un gain d'invalide de 52'177 fr. (établi sur la base des statistiques salariales, après application d'un facteur d'abattement de 15 %) a mis en évidence un degré d'invalidité de 8 %, ce qui a conduit l'office AI à rejeter la nouvelle demande, par décision du 21 janvier 2011. B. C._ a déféré cette décision au Tribunal cantonal du canton de Vaud, Cour des assurances sociales, en concluant à son annulation et à l'octroi d'une rente entière d'invalidité depuis le 1er octobre 2010. En bref, il a soutenu qu'il n'était plus en mesure de retrouver un emploi adapté à son handicap sur un marché équilibré du travail en raison de son âge. L'office AI a conclu au rejet du recours, en rappelant qu'aucune modification des limitations fonctionnelles n'avait été mise en évidence dans le cadre de la nouvelle demande de prestations. Par jugement du 6 janvier 2012, la juridiction cantonale a admis le recours et réformé la décision du 21 janvier 2011, en ce sens qu'elle a mis l'assuré au bénéfice d'une rente entière d'invalidité à compter du 1er octobre 2010, compte tenu d'une incapacité de travail totale à compter du 16 octobre 2009. En bref, les premiers juges ont considéré qu'il n'était pas réaliste qu'un employeur consente à offrir à l'assuré un emploi adapté à ses limitations fonctionnelles. C. L'office AI interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant au rétablissement de sa décision du 21 janvier 2011. Il sollicite par ailleurs l'attribution de l'effet suspensif au recours. L'intimé a conclu au rejet du recours et de la requête d'effet suspensif, avec suite de frais et dépens. De son côté, l'Office fédéral des assurances sociales a renoncé à se déterminer.