When describing a metamodel it is often difficult to keep apart the description (model) of something and the thing itself. If I want to describe a metaclass representing a system function for instance I find it easy to slip and start talking about the real-world function when the intention was to talk about the description of the real-world function.
I have noticed that it is easier to slip with some metaclasses than others. The slip seems more likely to happen with a description of something concrete than with a description of something abstract. A system function (a mapping of some input values to some output values) for instance feels concrete enough for the slip to happen whereas a non-functional requirement is a bit harder to imagine in the concrete world.
The existence of some things can be determined with our senses but we need some sort of measuring device for other “things”; some things seem to exist more than others. We can for instance determine the (approximate) weight of a permanent magnet with our own senses but would need a magnetometer to measure the existence and quantity of the magnetic field. Our model of the magnet can just as easily describe the weight as the magnetic field. We can likewise rather easily determine whether a function exists in a system by applying input stimuli and observing what happens. It is slightly harder the observe the existence of non-functional characteristics such as electromagnetic emission; you need some special purpose instruments and probably a special purpose measurement chamber. But both “things” exist in this sense and may make sense to describe in our model.
The answer? I believe that everything we model must exist in the sense that it must be possible to determine if the model is a useful description of the real world or not. But we need to be clear about whether we talk about the real world “thing” (phenomenon) or the description. There can be a huge difference.