If I have received public benefits, can I still naturalize?

Yes, but USCIS will study your case closely. Receiving public benefits is not a bar unless there was fraud or the person received them while overseas. This area can be complex and should be reviewed by counsel in detail.