Is there a way to have a system generated report of list of DBA in SQL Server?
This gives the list of users/logins/groups that have sysdba which sounds like your "Database Administrator" role.  This is not all logins, just the ones with the most powerful role.

USE master
GO

SELECT  p.name AS [loginname] ,
        CASE
        WHEN p.is_disabled = 1
        THEN 'LOCKED'
        ELSE 'OPEN'
        END as 'Account Status'
FROM    sys.server_principals p
        JOIN sys.syslogins s ON p.sid = s.sid
WHERE   p.type_desc IN ('SQL_LOGIN', 'WINDOWS_LOGIN', 'WINDOWS_GROUP')
        -- Logins that are not process logins
        AND p.name NOT LIKE '##%'
        -- Logins that are sysadmins
        AND s.sysadmin = 1
GO


Or you may prefer this query that shows who has the privileged roles on the database.  As a comment indicates if you want to focus on what a login can do you would include the securityadmin role as users with this role can elevate their privileges.  See here for the documentation.  If there is poor access control you never know what you will find...

select * from sys.syslogins
go
select * from sys.sql_logins 
go
sp_helprolemember 'db_securityadmin'
go
sp_helprolemember 'db_owner'
go
sp_helprolemember 'db_accessadmin'
go
sp_helpsrvrolemember 'sysadmin'
go
sp_helpsrvrolemember 'serveradmin'
go
sp_helpsrvrolemember 'securityadmin'
go