Found out the answer using EXECUTE msdb.dbo.sp_start_job ....
See below for a cursor that runs through all databases in a supplied list.
DECLARE @DatabaseName varchar(50)
DECLARE @Job_Name NVARCHAR(100)
DECLARE @SQL NVARCHAR(max)
DECLARE dc CURSOR FAST_FORWARD READ_ONLY FOR
SELECT UniqueName
FROM mylistofdatabases
OPEN dc
FETCH NEXT FROM dc INTO @DatabaseName
WHILE @@FETCH_STATUS = 0
BEGIN
--Use MSDB systables to find the new SQL Agent Job ID.
SELECT TOP 1 @Job_Name =J.name
FROM msdb.dbo.sysjobs AS J
INNER JOIN msdb.dbo.sysjobsteps AS S
ON S.job_id = J.job_id
WHERE S.command LIKE '%' + @DatabaseName + '%'
AND J.name LIKE '%mainjob%'
ORDER BY J.date_created DESC
--Kick off the job
SET @SQL = 'EXECUTE msdb.dbo.sp_start_job N''' + CAST(@Job_Name AS VARCHAR(100)) + ''''
EXEC(@SQL)
FETCH NEXT FROM dc INTO @DatabaseName
END
CLOSE dc
DEALLOCATE dc