IMHO, if we don't follow the basic doctrine of MVC design pattern which is the "separation of concern", then I don't see any reason for using an MVC framework like CI. There are another type of design pattern called Front Controller pattern + Dispatcher + router which can be use for an application too small to be built on a full blown MVC Framework.
It is always safe to have model for every controller, unless the controller have a reasonable number of methods. Otherwise, several models can serve to a single controller. A good example of this is a controller responsible for a user control panel. Since this type of controller is responsible for handling the user's account settings, message inbox, profile, file uploads, article (creation, edit and deletion), etc.