Si no tengo residencia en España ¿puedo casarme con un español o con otro ciudadano?

Sí. Para contraer matrimonio no tiene trascendencia el hecho de tener o no residencia.