Fiquei curioso com o comportamento, em um determinado momento quando você cria o arquivo express.js e levanta o servidor o comportamento correto seria que ele não funcionasse e eu precisasse usar o modulo para isso, porem o meu funcionou não deu erro object is not a function, achei curioso o por que o erro não aconteceu
app.js
var app = require('./config/express')();
app.get('/produtos', function(req,res){
res.render("produtos/lista");
});
app.listen(3000, function(){
console.log("Servidor rodando");
});
express.js
function configuraExpress() {
var app = require('express')();
app.set('view engine', 'ejs');
return app;
}