You can if you put your custom property inside a USTRUCT and then mark the variable inside that struct as a UPROPERTY. This way you can dynamically spawn stuff from C++ (even outside of the contructor and at designtime) and still mark it as a UPROPERTY. This is what I currently use.
Be aware though that this workaround in some cases may cause side-effects (possible UE4-bugs) in specific cases.
I however do wonder why the UE4-devs limited us like that in this regard.