SPExportObject/SPImportObject can be used to migrate the list item, but only issue that you need to take care is if you export an item from a database (e.g. a list) without exporting it's parent, then the exported item will become orphaned in the package. A package can contain multiple different orphaned objects (e.g. if you export multiple different lists or list items).
However, an import method allows us to define a new parent for each orphaned object in the export package.
See this example for handling of parenting of list item: Using the Content Deployment APIs, ListItem are duplicated, when documents are not
It is important to remember, there are two important settings that are required to get this working:
WebUrl - this property defines the web that will be used as the new parent for all orphaned objects in the export package. This method (e.g.) cannot be used if the package contains orphaned documents as a web cannot be the parent of a document. The parent of a document needs to be a list or a folder.
RetainObjectIdentity - this defines whether to preserve the object identity during import or whether not to preserve the identity. If the value is false the objects will get a new generated Guid during import and it will be possible to assign a new parent to the imported orphaned objects.
Stefan from Microsoft has really good walkthfrough with Content Migration API
See Part 2 and Part 3 for more detailed insight