Most likely, they registered while the event was still in Preview mode.  Preview is intended for testing data, not accepting live data.  Once a Preview event goes Active, all Donors and Participants are removed from the event and the system.  That is why they received the confirmation email, but do not show in your live event, and have no Contact record.  To resolve the issue, you will need to re-register them in the Active event, or have them donate again.