Hola:
Se puede usar lo que pones desde el principio:
var body = document.getElementsByTagName("body")[0];
que simplificado sería:
document.body;...
Y las dos formas están bien siempre que exista ese body... supongo que la llamada la estás haciendo desde un script en el head, que se encuentra antes de la declaración de ese body (perdona por suponrlo, pero es el error más común en estosa casos)... la solución es ejecutar ese script con la página cargada:
onload = function() {agregarDiv();}
Saludos