Alright, you're probably using the Create Object action. You should set the object you want to create as a Variable and predefine it. Then you can just change it later with Set Game Object.
Basically, after you hit the trigger/collider on the pickup, on the pickup object have an FSM that stores the collider (what ran into it) and then use Set Fsm Game Object to change that variable to something else. You could do this a few different ways, but the idea is that you make it a variable and use Set Game Object to change the object that the Ship is going to spawn. It's always going to spawn that variable, you just need to change what the variable is.