If some of your VirtualHosts specify IP addresses and some don’t, the ones that have IP addresses always take precedence over the ones that don’t (assuming the IP address is the correct one for your server).
To quote the Apache documentation (emphasis mine):
When a request is received, the server first maps it to the best matching
<VirtualHost> based on the local IP address and port combination only. Non-wildcards have a higher precedence. If no match based on IP and port occurs at all, the “main” server configuration is used.
If multiple virtual hosts contain the best matching IP address and port, the server selects from these virtual hosts the best match based on the requested hostname. If no matching name-based virtual host is found, then the first listed virtual host that matched the IP address will be used. As a consequence, the first listed virtual host for a given IP address and port combination is the default virtual host for that IP and port combination.
So, if you have a VirtualHost for
www.domain2.com that specifies the IP address, then it will take precedence over any VirtualHost that does not. If that’s the case, when you removed the IP address from
creatissus.com, the remaining VirtualHost with an IP address took precedence.
So you need to have all your VirtualHosts configured the same way: either specify the IP address for all of them, or none. The only time you might likely want to do otherwise is if your server has multiple IP addresses and you want to put different sites on each of them.