no se le puede asignar eventos a elementos que no existan, pero con el simple hecho de hacer lo siguiente
   
Código Javascript
:
Ver originalelemento = document.createElement('div');
  
ya existen, con eso ya se le puede agregar el id y los eventos.
un elemento puede existir, pero no estar ubicado en ningun lado, y si no esta posicionado, no se puede obtener mediante document.getElementById() 
lo que tratas de hacer aqui 
 Cita:  creo caja con id="caja"
Recién ahora puedo adjuntar eventos a id="caja" pq antes no existia??
    es algo innescesario, digamos por que se resume en el siguiente codigo   
Código Javascript
:
Ver originalelemento = document.createElement('div');
elemento.id='Caja';
document.body.appendChild(elemento);
document.getElementById('Caja').addEventListener('click',function(){})
  
se puede hacer asi simplemente    
Código Javascript
:
Ver originalelemento = document.createElement('div');
elemento.id='Caja';
document.body.appendChild(elemento);
elemento.addEventListener('click',function(){})
  
y ademas, no nescesita estar obligatoriamente adentro del documento, por lo cual esto también funcionara    
Código Javascript
:
Ver originalelemento = document.createElement('div');
elemento.id='Caja';
elemento.addEventListener('click',function(){})
document.body.appendChild(elemento);
  
(reordene las ultimas dos lineas) 
pero 
no funcionara esto    
Código Javascript
:
Ver originalelemento = document.createElement('div');
elemento.id='Caja';
document.getElementById('Caja').addEventListener('click',function(){})
document.body.appendChild(elemento);
  
ya que al hacer 
document.getElementById('Caja') el elemento #Caja no se encuentra en el documento ( recien en la siguiente linea se agrega ) 
un saludo !