Compute the strongly connected component (SCC) graph for your graph. If that SCC graph has exactly two sources A and B, adding a directed edge from any node in A to any node in B will result in every node in A being a "root" node in the final graph.
A source is a node that has no incoming edges.
You can compute the SCC graph in O(|V| + |E|) time using Tarjan's SCC algorithm. So the overall complexity is O(|V| + |E|).