Faits: A. C._, ressortissante italienne née en 1931, a vécu en Suisse de 1960 à 1994, avec son conjoint. Tous deux ont exercé une activité lucrative salariée en Suisse. A leur retraite, ils sont retournés s'établir en Italie. Après le décès de son mari, C._ a rejoint en Suisse sa fille, son beau-fils et ses petits enfants, en août 2000. Le Service des étrangers du canton de Neuchâtel lui a délivré une autorisation de séjour, après que sa fille et son beau-fils eurent chacun signé l'attestation suivante : «Je déclare prendre complètement à ma charge tous les frais qui découleront du séjour de la personne faisant l'objet de la présente demande, afin qu'il n'en résulte aucune charge pour les pouvoirs publics. Je réponds également de tous les frais pouvant découler d'une maladie ou d'un accident.» C._ est titulaire d'une rente de vieillesse de 1'391 fr. par mois. Le 11 juin 2003, elle a adressé à la Caisse cantonale neuchâteloise de compensation (ci-après : la caisse) une demande de prestations complémentaires à l'assurance-vieillesse et survivants. La caisse a rejeté la demande, par décision du 1er août 2003 et décision sur opposition du 21 octobre 2003, en raison de l'engagement pris par la fille et le beau-fils de la requérante d'assurer son entretien. B. Par jugement du 7 février 2006, le Tribunal administratif du canton de Neuchâtel a admis le recours et renvoyé la cause à la caisse afin qu'elle examine la situation financière de l'assurée et statue à nouveau (jugement du 7 février 2006). C. La caisse interjette un recours de droit administratif contre ce jugement, dont elle demande l'annulation. L'intimée conclut au rejet du recours, alors que l'Office fédéral des assurances sociales (OFAS) en propose l'admission. Le 24 avril 2007, la Ire Cour de droit social du Tribunal fédéral a tenu une audience ouverte aux parties. 