Alexa V. answered 05/15/19
10+ Years Translating Japanese-English with JLPT N2 Certification
In theory, you can, but the nuance of your statement will change. Think about it in terms of their most basic forms: いただく = もらう, 下さる = くれる. If you say: 「本田さんが晩ご飯を作ってくれた(下さいました)」, it has an implication of "Honda san made dinner (for me)." Meanwhile, 「本田さんが晩ご飯を作ってもらった(いただきました)」, it has an implication of "Honda san made dinner (at my request)" or "I had Honda san make dinner."