Si, ma devi passare il vector per reference altrimenti non porti fuori gli inserimenti.
codice:
void assegna(vector<prova>& vettore, int valore) {
     	vettore.push_back(esperimento{ valore,"aaaa" });
}