Sorry for a delay on the update, but I managed to get time with the head developer and we did a debug off the operations and we found the problem.
The error message was a lazy "catch, try" coding and didn't reflect the real error.
The real error was because of some very old code which wasn't needed anymore was building indexes on the database. Now this does explain why only dbowner isn't enough but from what I've read it meas that ddl_admin with db_owner should be enough but it wasn't.
The code was removed and it works now with only db_owner.
Still bugs me why can't I couldn't get it to work if it only builds indexes on the database and I'll probably will try to check it even though its something that is not used anymore in the application.
Thanks for replies.