So, "GRANT All PRIVILEGE TO user;" is not always the solution to go for.
The issue I figured out is even when there is a role having all the grants, Apex does not recognize it and won't be able to create the needed tables.
Error message that will show up in the wizard:
The current application schema does not have CREATE TABLE, CREATE TRIGGER, CREATE SEQUENCE privilege and will not be able to create Access Control Page.
So what I did is grant each privilege again:
grant create table to <user>;
grant create trigger to <user>;
grant create sequence to <user>;
then it worked.