The most obvious answer: the architect or engineer.
However, for most of our projects, all of the designers don't use Revit or another 3D modeling program, so we have to model at least one discipline (usually more, though!). In the past 6 months, we've had about 8 projects to model to varying degrees. Over the course of those 6 months and 8 projects. our answer to the previous question has varied accordingly:
Prior to hiring Mo or myself, Tocci didn't have any internal BIM resources, so the Tocci management chose an (expensive) external consultant to model a project.
Once internal BIM resources existed at Tocci (starting in mid-May), we were able to create partial models in-house. However, as the deadline for the original external model neared, we began to get excited about the possibility of external models: it would mean that Mo & I could focus on implementing models instead of creating them. However, once the external model was submitted, the management lost faith in external modeling consultants; the model was inaccurate and incomplete.
However, after Mo & I became too busy to create all the models that were needed, we were able to convince everyone to try an external modeling service. This time, we found a much cheaper consultant that we would have to partially train ourselves. We didn't mind; we figured that we would get a much better model if we were able to be more hands-on with the consultant.
Our second external model was supposed to wrap up during the beginning of November, but it became clear to us that the external team was not as knowledgeable of Revit as we had originally thought; they were basically drafting in 3D. With a few web conferences, Mo & I were able to steer them back into creating an object-based model. We continued to create partial models of other projects, as required.
As the second external model dragged on, Mo & I started to lose faith in their abilities. We still believed that the team would eventually be great; we just didn't know when eventually would happen. We also started to consider what we were losing by modeling externally: learning the project. Discussions at Build Boston reinforced this thought.
Discussions over the past week have led to the following conclusion: we want to model all projects in-house. Currently, we have internal capabilities to model some civil, architectural and structural work; we are hoping that with subcontractor input & assistance, we will learn to model MEP work as well. However, we understand that we don't have enough people or hours to model all of our projects, so we are cross our fingers and trying a third external consultant for an upcoming project.
I think that there are pros & cons to both scenarios, and at this point, we need to be open to both. But I'm guessing that it will take more than 6 months to figure out the best practice.